import datetime
import time

# # 获取当前的日期+时间，获取到的是一个时间对象，属性，方法
# t1 = datetime.datetime.today()
# t2 = datetime.datetime.now()  # 可以传入时区，获取指定时区的时间
# print(t1)
# print(t2)
#
# # 获取年
# print(t1.year)
# # 获取月
# print(t1.month)
# # 获取日
# print(t1.day)
# print("星期：", t1.weekday())  # 0代表星期一，类推
# print("公历序数：", t1.toordinal())  # 返回公历日期的序数
# print("年/周数/星期：", t1.isocalendar())  # 返回一个元组：一年中的第几周，星期几
# t_tup = t1.isocalendar()
# print(t_tup)


# # 公历数转为日期
# today = datetime.datetime.now()
# # 此方法的返回类型是一个数字，它是该日期在公历中的序数。
# num = today.toordinal()
# print(num)
# print(today.fromordinal(num))  # 公历数之精确到天，所以转换后的时间是0点0分0秒


# # 时间戳转为日期
# nowtime = time.time()
# print(nowtime)
# nowdate = datetime.date.fromtimestamp(nowtime)
# print(nowdate)


# # 日期时间格式化
# today = datetime.date.today()  # 获取当前日期 datetime.datetime.today() 日期+时间
# print(today)
# print(today.strftime("%Y.%m.%d"))
# print(today.strftime("%Y:%m:%d"))
# print(today.strftime("%Y.%m.%d %H:%M:%S"))

# 修改日期，replace方法
# # 当前日期
# date1 = datetime.date.today()
# print(date1)
# # 指定日期
# date2 = datetime.date(year=2022, month=10, day=7)
# print(date2)
# # 不带参数修改日期
# date3 = date2.replace(1995, 5, 8)
# print(date3)
# # 带参数修改日期
# date4 = date2.replace(month=12, day=9) # 年月日，传什么改什么
# print(date4)

# # time时间类,
# # 格式化时间
# t1 = datetime.time(18, 30, 59, 59)  # 传入的是小时，分钟，秒，微秒
# print(t1)
# print(type(t1))
# print(t1.hour)  # 小时
# print(t1.minute)  # 分钟
# print(t1.second)  # 秒

# # datetime日期运算
# today = datetime.date.today()
# print("当前日期：{}".format(today))
# # 增加7天
# print("增加7天后的日期为：", today+datetime.timedelta(days=7))
# # 减少7天
# print("减少7天后的日期为：", today-datetime.timedelta(days=7))

# datetime时间运算
now_time  =datetime.datetime.now()
print("当前时间为：", now_time)
# 增加5小时
print("增加五小时", now_time+datetime.timedelta(hours=5))
# 增加5分钟
print("增加五分钟", now_time+datetime.timedelta(minutes=5))
# 增加五秒
print("增加五秒", now_time+datetime.timedelta(seconds=5))
# 减去两周
print(now_time-datetime.timedelta(weeks=2))